#include "gunioption.h"

GuniOption::GuniOption()
{
    m_ConnectionAuto = false;
    m_AfficherTousEleves = true;
    m_MontantParDefautCotisation = 20;
}
GuniOption::GuniOption(Prof profParDefaut, bool connectionAuto, bool afficherTousEleves, int montantParDefautCotisation)
{
    m_ProfParDefaut = profParDefaut;
    m_ConnectionAuto = connectionAuto;
    m_AfficherTousEleves = afficherTousEleves;
    m_MontantParDefautCotisation = montantParDefautCotisation;
}
GuniOption::GuniOption(QString datas)
{
    QStringList liste = datas.split(SEPARATEUR6);

    Prof pf(liste.at(0));
    m_ProfParDefaut = pf;
    m_ConnectionAuto = StringToBool(liste.at(1));
    m_AfficherTousEleves = StringToBool(liste.at(2));
    m_MontantParDefautCotisation = liste.at(3).toInt();
}

bool GuniOption::StringToBool(QString monBool)const
{
    if (monBool == "1")
        return true;

    return false;
}
void GuniOption::setProfParDefaut(Prof profParDefaut)
{
    m_ProfParDefaut = profParDefaut;
}
void GuniOption::setConnectionAuto(bool connectionAuto)
{
    m_ConnectionAuto = connectionAuto;
}
void GuniOption::setAfficherTousEleves(bool afficherTousEleves)
{
    m_AfficherTousEleves = afficherTousEleves;
}
void GuniOption::setMontantParDefautCotisation(int montantParDefautCotisation)
{
    m_MontantParDefautCotisation = montantParDefautCotisation;
}
Prof GuniOption::getProfParDefaut()const
{
    return m_ProfParDefaut;
}
bool GuniOption::getConnectionAuto()const
{
    return m_ConnectionAuto;
}
bool GuniOption::getAfficherTousEleves()const
{
    return m_AfficherTousEleves;
}
int GuniOption::getMontantParDefautCotisation()const
{
    return m_MontantParDefautCotisation;
}
bool GuniOption::StringToGuniOptionTest(QString StringToGuniOption)
{
    if (StringToGuniOption.isNull())
    {
        return false;
    }

    if (StringToGuniOption.isEmpty())
    {
        return false;
    }

    QStringList liste = StringToGuniOption.split(SEPARATEUR6);

    if (liste.count() != 4)
    {
        QMessageBox::information(NULL, "Guni Option", "pas le bon nombre");

        return false;
    }

    if (liste.at(1).length() != 1)
    {
        return false;
    }
    if (liste.at(2).length() != 1)
    {
        return false;
    }

    return true;
}
QString GuniOption::GuniOptionToString()const
{
    QString ConnectAuto = "0";
    if (m_ConnectionAuto)
        ConnectAuto = "1";

    QString AfficherEleves = "0";
    if (m_AfficherTousEleves)
        AfficherEleves = "1";

    return m_ProfParDefaut.ProfToString() + SEPARATEUR6 + ConnectAuto + SEPARATEUR6 + AfficherEleves + SEPARATEUR6 + QString::number(m_MontantParDefautCotisation);
}
